<?php namespace web\admin\controller;
/*
 * 文章管理控制器
 */
class Article extends Common{
    protected $db;
    public function __construct(){
        //为了不覆盖父级的构造方法
        parent::__construct();
        $this->db = new \system\model\Article();
    }
    //文章首页
    public function index(){
        //请求模型中的方法、
        $data = $this->db->getAll(1);
        View::with('data',$data);
        View::make();
    }
    //文章添加
    public function add(){
        if(IS_POST){
            if($this->db->store()){
                message('添加成功',u('index'),'success');
            }
            message($this->db->getError(),'','error');
        }
        //获取所属分类的数据
        $cateData = Data::tree(Db::table("category")->get(),'cname');
        //获取标签数据
        $tagData = Db::table('tag')->get();
        View::with('cateData',$cateData)->with('tagData',$tagData)->make();
    }
    //文章编辑
    public function edit(){
        $aid = q('get.aid',0,intval);
        if(IS_POST){
            if($this->db->edit()){
                message('编辑成功','','success');
            }else{
                message($this->db->getError(),'','error');
            }
        }
        //获取旧数据
        $olbData = $this->db->join('article_data','aid','=','article_aid')->where('aid',$aid)->first();
        View::with('olbData',$olbData);
        //获取所有分类数据
        $cataData = Db::table('category')->get();
       // p($cateData);exit;
        $cateData = Data::tree($cataData,'cname');
        //p($cateData);exit;
        View::with('cateData',$cateData);
        //获取所有标签的数据
        $tagData = Db::table('tag')->get();
        View::with('tagData',$tagData);
        //获取文章添加的时候 添加的标签
        $arcTag = Db::table('article_tag')->where('article_aid',$aid)->lists('tag_tid');
        View::with('arcTag',$arcTag);
        View::make();

    }
    //回收站首页
    public function recycle(){
        $data = $this->db->getAll(2);
        View::with('data',$data);
        View::make();
    }
    //删除文章进回收站
    public function delRecycle(){

     $id = q('get.aid',0,'intval');
       // p($id);exit;
        //将is_recycle字段修改为2
       $this->db->where('aid',$id)->update(['is_recycle'=>2]);
        //提示
        message('删除到回收站成功',u('index'),'success');
    }
    //回收站还原
    public function reduction(){
        $aid = q('get.aid',0,'intval');
        $this->db->where('aid',$aid)->update(['is_recycle'=>1]);
        message('还原成功',u('index'),'success');
    }
    //回收站真正删除
    public function realDel(){

        if(IS_POST){

            if($this->db->del()){
                message('删除成功','','success');
            }else{
                message($this->db->getError(),'','error');
            }
        }
    }

    //异步删除缩略图
    public function delImg(){
        //删除文件
        if(file_exists($_POST['path'])){
            unlink($_POST['path']);
        }
    }

}
